<?php
namespace common\components;


/**
 * 写一些需要的静态类
 */
class Word
{

/**
 * 时间戳格式化
 * @param int $time  时间戳
 * @param bool $type  类型
 * @return string
 */
    public static function time_format($time = 0, $type = true){
    	if($time < 1) return '';

		if ($type) {
			return date('Y-m-d H:i', $time);
		} else {
			return date('Y-m-d', $time);
		}
	}

/**
 * 正则方法 获取字符串的长度
 * @param string $string  字符串（ 中文、字母、字母混合都可以 ）
 * @return int
 */
	public static function utf8_strlen($string) {
		preg_match_all("/./us", $string, $match);
		return count($match[0]);
	}

	/**
	 * 组合无限极分类的方法
	 * @param array $arr 数组
	 * @param int $pid  上级分类id
	 * @return array
	 */
	public static function tree($arr, $pid = 0){
		$cate = array();
		foreach ($arr as $val) {
			if ($val->pid == $pid) {
				$val->tree = self::tree($arr, $val->id);
				$cate[] = $val;
			}
		}
		return $cate;
	}

	/**
	 * 用于生成唯一的名字（图片的保存路径）
	 * @param string  $suffix  图片后缀
	 * @param string  $dir  图片保存的目录名
	 * @return string  唯一字符串（23位）
	 * ```php
	 * 24f35515f01172a8f6c4e43
	 * ```
	 */
	public static function getUniqidFilePath($suffix, $dir = 'other'){
		$path = 'uploads/' . $dir . '/' . date('Ymd', time());
		/* 检查目录是否存在（不存在就创建） */
		if (!is_dir($path)) {
			mkdir($path, 0777, true);
		}

		return $path . '/' . substr(str_shuffle(uniqid(time())), 0, 10) . '.' . $suffix;
	}
}